UDP

✒️ 2025-05-31 23:00 내용 수정


참고 자료 : NordVPN TCP UDP 차이: 두 프로토콜 비교, 위키백과 사용자 데이터그램 프로토콜

UDP(User Datagram Protocol)

TCP와 함께 패킷을 교환하기 위해 사용하는 프로토콜


특징

  1. 비연결 프로토콜(Connectionless Protocol) : 메시지는 연결 설정 없이 전달되며, 전송한 메시지를 추적하지 않는다.
    • 각 메시지는 독립적으로 처리된다.
  2. 데이터 무결성 : UDP는 checksum(체크섬)을 사용하여 데이터 오류를 검증할 수 있다.
  3. 신뢰성 없는 전송 : 데이터 전송, 순서, 중복 방지에 대한 보장이 없다.
    • 재전송, 흐름 제어, 혼잡 제어 등의 기능이 없다.
    • 데이터 무결성을 확인할 수 있으나 오류 복구 기능은 없다.
  4. 적은 오버헤드 : UDP 헤더의 크기는 8바이트이며, 간단한 구조로 인해 오버헤드가 적다.
  5. 포트를 사용한 다중화 : IP 주소와 포트의 결합으로 생성된 데이터 전송 엔드포인트에 datagram socket을 바인딩할 수 있다.
    • 동일한 호스트 내의 여러 애플리케이션이 UDP 서비스를 사용할 수 있다.
  6. 사용처 : 간단하고 빠르게 데이터를 전송하는 DNS, IPTV, IP 터널, 온라인 게임, 실시간 통신, 스트리밍 서비스 등에 사용한다.

TCP와의 차이점

항목 TCP UDP
연결 방식 연결형 (Connection-oriented) 비연결형 (Connectionless)
신뢰성 있음
재전송, 순서 보장 등
없음
헤더 크기 최소 20바이트 8바이트
순서 보장 있음 없음
오류 복구 있음 없음
흐름/혼잡 제어 있음 없음
사용 사례 파일 전송, 웹 브라우징 등 실시간 통신, 스트리밍 등

UDP 데이터그램 구조

헤더 설명
소스 포트 송신자의 포트
도착지 포트 수신자의 포트
길이 UDP 데이터그램의 길이(헤더+데이터)
checksum(체크섬) 헤더와 데이터의 오류 검증을 위한 필드